
package jnpf.htgl.service;

import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.base.ActionResult;
import jnpf.htgl.entity.ZcglHtglInfoChangeEntity;
import jnpf.htgl.entity.ZcglHtglInfoEntity;
import jnpf.htgl.entity.ZcglHtglPabEntity;
import jnpf.htgl.model.zcglhtglinfo.ZcglHtglInfoForm;
import jnpf.htgl.model.zcglhtglinfo.ZcglHtglInfoPagination;
import jnpf.htgl.model.zcglhtglinfo.ZcglHtglPabSpaceVO;
import org.apache.ibatis.annotations.Select;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 *
 * 合同管理
 * 版本： V3.2.0
 * 版权： 智果云科技（https://www.jnpfsoft.com）
 * 作者： JNPF开发平台组
 * 日期： 2025-01-12
 */
public interface ZcglHtglInfoService extends IService<ZcglHtglInfoEntity> {
    @Select("SELECT zc_source, COUNT(*) as count_num FROM zcgl_zcdj_info_entity GROUP BY zc_source")
    List<Map<String, Object>> countByZcSource();

    List<ZcglHtglInfoEntity> getList(ZcglHtglInfoPagination zcglHtglInfoPagination);

    List<ZcglHtglInfoEntity> getTypeList(ZcglHtglInfoPagination zcglHtglInfoPagination,String dataType);


    ZcglHtglInfoEntity getInfo(String id);

    void delete(ZcglHtglInfoEntity entity);

    void create(ZcglHtglInfoEntity entity);

    boolean update(String id, ZcglHtglInfoEntity entity);

//  子表方法

    //列表子表数据方法
        ZcglHtglPabEntity getZcglHtglPab(String id);


    //验证表单
    boolean checkForm(ZcglHtglInfoForm form, int i);

    List<ZcglHtglPabSpaceVO> getPabSpace(String zcIds);

    ActionResult createSkjh(ZcglHtglInfoForm zcglHtglInfoForm);

    void htglInfoChange(ZcglHtglInfoChangeEntity entity);


    BigDecimal getYingShouByHtNoNowYear(String htNo);

    BigDecimal getYingShouByHtNoThisMonth(String htNo);
}
